﻿using System;
using System.Collections.Generic;
using System.Text;

/*
 * 连接的生命周期的监听器
 */
namespace Top.Api.Stream.Connect
{
    public interface IConnectionLifeCycleListener
    {
        /**
	     * 连接成功后调用此方法
	    */
        void onConnect();

        /**
         * 出现异常时调用此方法
         */
        void onException(Exception throwable);

        /**
         * 连接出现错误，需要检查一下原因。
         * @param e
         */
        void onConnectError(Exception e);
        /**
         * 读取超时，这个时候可能网络有问题了，需要检查一下原因
         * 客户端：需要补数据
         */
        void onReadTimeout();
        /**
         * 当系统在30分钟内超过10次timeout了,则调用这个方法,退出，可能网络有问题了，需要检查一下原因
         * 客户端：需要补数据
         */
        void onMaxReadTimeoutException();
        /**
         * 当出现系统级别，比如签名错误，丢失参数等异常时
         * 检查http的响应头errmsg查看具体错误原因
         * @param e
         */
        void onSysErrorException(Exception e);
    }
}
